#ifndef _INTERFACE_H
#define _INTERFACE_H

#define ultrasonic_dev           	 //超声波驱动名
#define buzzer_dev             		 //蜂鸣器驱动名
#define adc_dev			 	      //ADC驱动名
#define photosensor_dev			 //光敏传感驱动名
#define led_dev			  	 //LED驱动名
#define key1_dev
#define key2_dev               		 //按键驱动名  

#define  CMD_BASE 'h'
#define  BUZZ_L  _IOW(CMD_BASE,10,int)   //蜂鸣器响起IOCTL
#define  BUZZ_D  _IOW(CMD_BASE,40,int)   //蜂鸣器不响IOCTL
#define  LED_L   _IOW(CMD_BASE,10,int)   //LED亮起IOCTL
#define  LED_D   _IOW(CMD_BASE,40,int)   //LED熄灭IOCTL
#define  ADC_L  _IOR(CMD_BASE,1,int)    //ADC 开始工作

#define  LIGHT_L  _IOR(CMD_BASE,100,int)  //光敏传感器 开始工作


void set_buzzer(int); 
									//控制蜂鸣器 参数：BUZZ_L 蜂鸣器响起，BUZZ_D，蜂鸣器不响
void set_led(unsigned int);				//控制LED 参数：LED_L led亮起，LED_D,led熄灭

int sendmsg_api(int ,char *);		//GPRS功能函数，拨打电话，参数1：0代表发送信息，1代表打电话
									//返回值：1成功，0失败
char *get_GPS_api(void );				//GPS功能函数 ，获得gps经纬度 返回值：成为为经纬度，失败NULL
 
int  get_light(void);					//光敏传感器获得数字，返回值：光照强度
int  get_adc(void );						//获得ADC数

int  get_obstacle(void);				//超时波功能函数，获得障碍物距离

void  handler_time(void);				//超时处理函数 功能：时间到后发送信息（经纬度信息）

void obstacle_avoidance(void );			//避障功能函数，根据距离判断动作：距离小于1.5米，蜂鸣器响起，响声随距离变化

void dark_sign(void);					//夜间醒目标识函数：根据光照强度判断动作：光照强度下于500；LED亮起

int  key_one(void);						//按键1功能：1.得到GPS值，2.发送信息；返回值：1表示成功，0表示失败

int key_two(void);						//按键2功能：拨打电话；返回值：1表示成功，0表示失败

void power_sign(void);					//电量提醒函数，根据ADC数值判断动作：数值小于5%时，蜂鸣器响起

void service_program(void);				//服务器处理函数，等待客户端链接，接收客户端数据

#endif
